﻿Public Class frmConsultarasprueba

    Private Sub btnContinuar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnContinuar.Click
        'mdlConexion.blnOnDB = True
        mdlIntegracion.intIdaspirante = Nothing
        mdlIntegracion.lngIdProceso = Nothing

        If Trim(Me.txtNumero.Text) = "" Then
            MsgBox("Debe digitar el " & Me.cmbConsultapor.SelectedItem.ToString, MsgBoxStyle.Exclamation, "Consultar Aspirante")
        Else
            Dim dstRecord As New DataSet
            Dim intNumrows As Integer
            dstRecord.Tables.Add("TablaAspirante")

            Select Case Me.cmbConsultapor.SelectedIndex
                Case 0
                    'mdlIntegracion.lngIdProceso = Me.txtNumero.Text
                    mdlCRUD.loadRecord(dstRecord, "TablaAspirante", "aspirante", "aspirante_numeroproceso = '" & Me.txtNumero.Text & "'", Nothing) 'Falta colocar parametro de estado
                    intNumrows = dstRecord.Tables("TablaAspirante").Rows.Count.ToString

                    If intNumrows > 0 Then
                        Dim arrRow As Array
                        arrRow = dstRecord.Tables("TablaAspirante").Rows(0).ItemArray.ToArray

                        mdlIntegracion.intIdaspirante = arrRow(1).ToString
                        mdlIntegracion.lngIdProceso = arrRow(2).ToString
                    End If
                Case 1

                    mdlCRUD.loadRecord(dstRecord, "TablaAspirante", "persona", "persona_documento = '" & Me.txtNumero.Text & "' AND tipodocumento_id = '" & Me.cmbTipoidentificacion.SelectedValue.ToString & "'", Nothing)
                    intNumrows = dstRecord.Tables("TablaAspirante").Rows.Count.ToString

                    If intNumrows > 0 Then
                        Dim arrRow As Array
                        arrRow = dstRecord.Tables("TablaAspirante").Rows(0).ItemArray.ToArray

                        dstRecord = New DataSet
                        dstRecord.Tables.Add("TablaAspirante")
                        mdlCRUD.loadRecord(dstRecord, "TablaAspirante", "aspirante", "persona_id = '" & arrRow(0).ToString & "'", Nothing) 'Falta colocar parametro de estado Para saber cual esta disponible

                        arrRow = dstRecord.Tables("TablaAspirante").Rows(0).ItemArray.ToArray

                        mdlIntegracion.intIdaspirante = arrRow(1).ToString
                        mdlIntegracion.lngIdProceso = arrRow(2).ToString
                    End If
            End Select

            If mdlIntegracion.lngIdProceso <> 0 And mdlIntegracion.intIdaspirante <> 0 Then
                Dim frmAspirante As New frmRegistroaspirante
                MsgBox("Numero de proceso: " & mdlIntegracion.lngIdProceso & Chr(13) & "Id Aspirante: " & mdlIntegracion.intIdaspirante, MsgBoxStyle.Information, "Proceso")

                'Aqui envia datos de logueo del aspirante y del especialista para extraer Id de Seguimiento
                'Despues ejecuta Sirius para logueo con Huella con la funcion ShellandWait para verificar despues si fue exitoso el logueo
                'ShellandWait("Notepad.exe")
                Dim arrRow As Array
                Dim arrRow2 As Array
                dstRecord = New DataSet
                dstRecord.Tables.Add("procesotramite")
                mdlCRUD.loadRecord(dstRecord, "procesotramite", "procesotramite", "aspirante_id = '" & mdlIntegracion.intIdaspirante & "'", Nothing)
                If (dstRecord.Tables("procesotramite").Rows.Count > 0) Then
                    For i = 0 To dstRecord.Tables("procesotramite").Rows.Count - 1
                        arrRow = dstRecord.Tables("procesotramite").Rows(i).ItemArray.ToArray()
                        dstRecord.Tables.Add("estadoproceso")
                        mdlCRUD.loadRecord(dstRecord, "estadoproceso", "estadoproceso", "estadoproceso_id = '" & arrRow(6) & "' AND estadoproceso_tipo IN(1,2,3)", Nothing)
                        If (dstRecord.Tables("estadoproceso").Rows.Count > 0) Then
                            If (arrRow(6) = "1") Then
                                Dim arrParametro() As String = {"estadoproceso_id = 2"}
                                Dim strCondicion As String = "aspirante_id = " & mdlIntegracion.intIdaspirante
                                mdlCRUD.updRecord("procesotramite", arrParametro, strCondicion)
                            End If
                            frmEvaluaciones.Size = New System.Drawing.Size(1000, 800)
                            GetEvaluacion(frmEvaluaciones, arrRow)
                            frmEvaluaciones.MdiParent = mdiPrincipal
                            frmEvaluaciones.Show()
                        End If
                    Next i
                End If
            Else
                MsgBox("El " & Me.cmbConsultapor.SelectedItem.ToString & " " & Me.txtNumero.Text & " no se encuentra registardo", MsgBoxStyle.Information, "Consultar Aspirante")
            End If
        End If


    End Sub

    Private Sub cmbConsultapor_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbConsultapor.SelectedIndexChanged
        If Me.cmbConsultapor.SelectedIndex = 1 Then
            Me.cmbTipoidentificacion.Enabled = True
        Else
            Me.cmbTipoidentificacion.Enabled = False
        End If
    End Sub

    Private Sub btnCancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancelar.Click
        Me.Close()
    End Sub

    Private Sub frmConsultarasprueba_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.cmbConsultapor.Items.Insert(0, "Numero de proceso")
        Me.cmbConsultapor.Items.Insert(1, "Numero identificación")
        Me.cmbConsultapor.SelectedIndex = 0


        mdlHerramientas.loadOption()
        Dim dstRecord As New DataSet
        dstRecord.Tables.Add("Tipodocumento")
        mdlCRUD.loadRecord(dstRecord, "Tipodocumento", "tipodocumento", "", Nothing)

        Me.cmbTipoidentificacion.DataSource = dstRecord.Tables("Tipodocumento")
        Me.cmbTipoidentificacion.DisplayMember = dstRecord.Tables("Tipodocumento").Columns(1).Caption.ToString
        Me.cmbTipoidentificacion.ValueMember = dstRecord.Tables("Tipodocumento").Columns(0).Caption.ToString
        Me.cmbTipoidentificacion.Enabled = False
    End Sub

    Public Sub ShellandWait(ByVal ProcessPath As String)
        Dim objProcess As System.Diagnostics.Process
        Try
            objProcess = New System.Diagnostics.Process()
            objProcess.StartInfo.FileName = ProcessPath
            objProcess.StartInfo.WindowStyle = ProcessWindowStyle.Normal
            objProcess.Start()

            'Wait until the process passes back an exit code 
            objProcess.WaitForExit()

            'Free resources associated with this process
            objProcess.Close()
        Catch
            MessageBox.Show("Could not start process " & ProcessPath, "Error")
        End Try
        MsgBox("Prueba de datos")
    End Sub
End Class